package Mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/*
* 一： 使用 JDBC 链接 Mysql数据库
*       1.加载【MYsql】驱动  --JDBC规范
*
*
* */
public class MysqlJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动【注册Mysql驱动程序】
        //Class.forName() 反射应用：注册Mysql驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.建立数据库链接  mysql ：url 地址 ，用户名，密码
        //接收 mysql 用户名 root
        String username = "root";
        String password = "";
        //接收 Mysql url地址固定写法
        //JDBC : mysql://ip的地址:端口号/库名?characterEncoding=UTF-8
        String url="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8";

        //建立数据库链接 DriverManager 工具类 链接各种数据库
        //getConnection 传入url 用户名 密码 返回connection对象
        Connection con=
                DriverManager.getConnection(url,username,password);
        System.out.println("ces"+con);

        //3.使用test库 创建person表 序号 姓名 地址
        String sql="insert into person values(1,'潘尧与','哈尔冰工业大学')" +
                "insert into person values(2,'张梦涛','北京大学')" +
                "insert into person values(3,'王克','唐山职业学院')";

        //数据库链接成功 con对象
        //createStatement() 执行静态sql操作 返回statement
        Statement st=con.createStatement();

        //statement 执行静态sql操作 返回值int
        int rows=st.executeUpdate(sql);
        System.out.println(rows);

        //练习 增加三条记录
        st.close();
        con.close();
    }
}
/*
* JDBC 链接 各种数据库 【所有数据库闭源 退出规范】
* JDBC 面向对象开发语言 ，特点类，接口，抽象类控制
* 工作流程 【任何数据库--开发者配置参数】
*
* ① 加载驱动 链接 Mysql 反射技术--》 注册 对应的数据库
*                   mysql.5x 以上   com.mysql.jdbc.driver
*                   mysql.8以上  com.mysql.cj.jdbc.driver
*       driver --java 提供接口 驱动接口,定义使用那种数据口进行链接
* ②建立链接： 用户名 root 密码
*               jdbc:mysql://localhost:3306/mi?characterEncoding=UTF-8;
*  DriverManager 工具类，用于管理驱动，获取对应数据库链接
* getConnection() 获取对应链接成功的数库
*
* 执行 sql语句 基本sql语句参数 【增加，修改，删除】
*   insert into table_name values();
*   update table_name set column_nam='recoding';
*   delete from table_name where column_name='recoding';
*
*   Statement类
*   4.关闭资源
*
* */













